perm filename POOLTY.CH[TEX,DEK]3 blob
sn#698583 filedate 1983-01-29 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 \def\botofcontents{\vfill
C00003 00003 @ \.{POOLtype} is written entirely in standard \PASCAL, except that it has
C00005 00004 @ The ascii code is ``standard'' only to a certain extent, since many
C00007 00005 @<Character |k| cannot be printed@>=
C00008 ENDMK
C⊗;
\def\botofcontents{\vfill
\centerline{(This listing shows the changes for {\sc WAITS} only)}}
\setcount0=\contentspagenumber \advcount0 by 1
\let\maybe=\no
@z
@ \.{POOLtype} is written entirely in standard \PASCAL, except that it has
to do some slightly system-dependent character code conversion on input
and output. The input is read from |pool_file|, and the output is written
on |output|. If the input is erroneous, the |output| file will describe
the error.
@↑system dependencies@>
@p @t\4@>@{$D-,W+@} {no debugging overhead}
program POOLtype(@!pool_file,@!output);
label 9999; {this labels the end of the program}
type @<Types in the outer block@>@/
var@?@<Globals in the outer block@>@/
procedure initialize; {this procedure gets things started properly}
var @<Local variables for initialization@>@;
begin @<Set initial values of key variables@>@/
end;
@↑system dependencies@>
@z
@ The ascii code is ``standard'' only to a certain extent, since many
computer installations have found it advantageous to have ready access
to more than 94 printing characters. Appendix@@C of the \TeX\ manual
gives a complete specification of the intended correspondence between
characters and \TeX's internal representation.
The code shown here is intended to be used on the Stanford {\sc SAIL} system,
and at other installations like CMU and ISI where essentially the same
extended character set is used. The fact that {\sc SAIL} has |'}'| in the
wrong place turns out to cause no difficulty in this case.
@<Set initial values...@>=
for i←1 to @'37 do xchr[i]←chr(i);
xchr[@'30]←chr(@'137);
xchr[@'32]←chr(@'33); {|not_equal| sign}
xchr[@'33]←chr(@'176);
@↑system dependencies@>
@z
@<Character |k| cannot be printed@>=
k in [0,@'11..@'15,@'33]
@↑system dependencies@>
@z